osbuild: Version built artifacts
authorColin Walters <walters@verbum.org>
Fri, 11 Nov 2011 11:44:22 +0000 (06:44 -0500)
committerColin Walters <walters@verbum.org>
Fri, 11 Nov 2011 11:44:22 +0000 (06:44 -0500)
osbuild/ostree-buildone
osbuild/ostree-buildone-makeinstall-split-artifacts

index 077be4121dc327e6aed44186f992cf9984cb2a8b..2f2fc6d26182533de0e76636af4cda8f7f97cc7c 100644 (file)
@@ -243,12 +243,36 @@ def _on_make_exit(pid, estatus):
     else:
         _output_filter.finish(False)
 
+def _get_version():
+    if not os.path.isdir('.git'):
+        sys.stderr.write("ostree-buildone: error: Couldn't find .git directory")
+        sys.exit(1)
+
+    proc = subprocess.Popen(['git', 'describe'], stdout=subprocess.PIPE)
+    output = proc.communicate()[0].strip()
+    if proc.wait() != 0:
+        proc = subprocess.Popen(['git', 'rev-parse', 'HEAD'], stdout=subprocess.PIPE)
+        if proc.wait() != 0:
+            sys.stderr.write("ostree-buildone: error: git rev-parse HEAD failed")
+            sys.exit(1)
+        output = proc.communicate()[0].strip()
+    return output
+
 if __name__ == '__main__':
     user_tmpdir = os.environ.get('XDG_RUNTIME_DIR')
     if user_tmpdir is None:
         user_tmpdir = os.path.join(os.environ.get('TMPDIR', '/tmp'), 'metabuild-%s' % (os.getuid(), ))
     else:
         user_tmpdir = os.path.join(user_tmpdir, 'ostree-build') 
+
+    os.environ['OSBUILD_VERSION'] = _get_version()
+
+    if os.path.isdir('_build'):
+        for filename in os.listdir('_build'):
+            path = os.path.join('_build', filename)
+            if filename.startswith('artifact-'):
+                os.unlink(path)
+
     if not os.path.isdir(user_tmpdir):
         os.makedirs(user_tmpdir)
     logfile_path = os.path.join(user_tmpdir, '%s.log' % (os.path.basename(os.getcwd()), ))
index accb5275081243063b0f6f7244407eb243cbfd86..85167a5910e8efdfffb87e011f529fa0ae08d86b 100644 (file)
@@ -50,7 +50,7 @@ def run_sync(args, env=None):
     func("pid %d exited with code %d" % (proc.pid, returncode))
 
 basename=os.path.basename(os.getcwd())
-artifact_prefix='artifact-%s' % (basename, )
+artifact_prefix='artifact-%s,%s' % (basename, os.environ['OSBUILD_VERSION'])
 origdir=os.getcwd()
 os.chdir('_build')